package cn.dzh.service;

import cn.dzh.model.bean.CommodityDraft;
import cn.dzh.model.bean.CommodityOperate;
import cn.dzh.model.dto.GoodsOperateDTO;
import cn.dzh.model.dto.Result;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @version V1.0
 * @description:
 * @author: dzd
 * @date: 2023/10/24
 */

public interface CommodityOperateService {
    /**
     * 商品上线
     * @param goodsOperateDTO 商品上线参数
     * @return Result<Boolean>
     * 操作：上线
     * 状态改变：已上线
     */
    Result goodsOnline(GoodsOperateDTO goodsOperateDTO);


    /**
     * 商品下线
     * @param goodsOperateDTO 商品下线参数
     * @return Result<Boolean>
     * 操作：下线
     * 状态改变：已下线
     */
    Result goodsOffline(GoodsOperateDTO goodsOperateDTO);

    /**
     * 商品提交审核
     * @param goodsOperateDTO 商品提交审核参数
     * @return Result<Boolean>
     * 操作：提交审核
     * 状态改变：审核中
     */
    Result pushAudit(GoodsOperateDTO goodsOperateDTO);

    /**
     * 商品审核通过
     * @param goodsOperateDTO 商品审核参数
     * @return Result<Boolean>
     * 操作：审核通过
     * 状态改变：审核通过
     *
     */
    Result approv(GoodsOperateDTO goodsOperateDTO);

    Result reject(GoodsOperateDTO goodsOperateDTO);

    /**草稿商品信息添加至各信息分表*/
    Boolean addToBase(Integer id);
}
